require('./sqlHealth'); // 加载sqlHealth文件
const connection = require("./mysql"); // 引入数据库连接
const bcrypt = require("bcryptjs"); // 加载bcrypt库
// 创建root用户
const createUser = async () => {
  // 先判断是否已经有了root用户
  const [rows] = await connection.execute("SELECT * FROM account WHERE username = ?", ["root"]);
  if (rows.length > 0) {
    return;
  }
  const password = await bcrypt.hash("123456", 10); // 生成密码的hash值
  // 获取当前时间，作为注册时间和最后登录时间
  const currentTime = new Date().toISOString().slice(0, 19).replace("T", " ");
  // SQL语句，考虑到所有必要字段
  const sql = `
    INSERT INTO account (username, password, nick, type, headerUrl, creationTime, lastLoginTime)
    VALUES (?, ?, ?, ?, ?, ?, ?)
  `;
  // 插入的数据，注意这里的nick、type、headerUrl等字段
  const values = [
    "root", // username
    password, // password
    "Root User", // nick，默认为root账户设置昵称
    1, // type，通常1是管理员账户
    null, // headerUrl，这里默认不设置头像
    currentTime, // creationTime，当前时间
    currentTime // lastLoginTime，当前时间
  ];

  try {
    const [result] = await connection.execute(sql, values); // 执行SQL语句
    console.log("root用户创建成功 账号：root 密码：123456");
  } catch (err) {
    console.error("创建root用户失败:", err); // 捕获并输出错误
  }
}
createUser();
